<!---- Creator: Eoly -->
<!---- On 2017/1/10 -->
<!---- Call http://palerock.cn -->

<!--
    获取所有团信息API：
    method:GET
    url:'http://palerock.cn/group/find-groups'

    请求头:
    无要求

    params:
    {                           // 发送params参数（不附加参数即为查找所有）
        line:                   // 获取的团信息的起始位置
        next:                   // 获取的团信息的个数
                                   注：
                                      1、起始位置从0开始，按照时间由近及远排序
                                      2、如果只使用其中一个参数，无论是line还是next，都是获得团的个数，并且从位置0开始
                                      3、若都不使用，则返回所有符合条件的团信息
        goodsTypeId:            // 获取团的类型id（可选），无则返回所有类型
        keyWord:                // 指定关键字查询（可选），无则返回所有符合条件的团
    }
    返回：
    {
        dataList:       // 返回的团数据列表
            {
                groupAliveHours:            // 团存活周期（小时）
                groupGoodType:              // 团类型id
                groupId:                    // 团id
                groupImgs:                  // 团封面图片（字符串）
                                               需要转化为数组后使用
                groupInitiatorId:           // 团发起者id
                groupNowNumber:             // 当前参团人数
                groupPostage:               // 团商品邮费
                groupPrice:                 // 团商品单价
                groupPriceOriginal:         // 团商品原价
                groupSynopsis:              // 团简介
                groupTargetNumber:          // 团目标人数
                groupTitle:                 // 团标题
                groupStatus:                // 团状态
                groupInitTime:              // 发团时间（时间戳）
            }
            ...

        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!--
    获取用户已发团总数API：
    method:GET
    url:'http://palerock.cn/group/find-all-groups-count'

    请求头:
    无要求

    params:
    {                           // 发送params参数（不附加参数即为查找所有）
        goodsTypeId:            // 获取团的类型id（可选），无则返回所有类型
        keyWord:                // 指定关键字查询（可选），无则返回所有符合条件的团
    }
    返回：
    {
        data:       // 团数量

        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <title>AngularTest</title>
    <style>
        * {
            padding: 0;
            margin: 0;
            /*border: 0;*/
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }
    </style>
    <script src="../angular.js"></script>
    <script>

                var net = "http://palerock.cn/h5_back";
//        var net = "http://localhost:8080";

        var app = angular.module('app', []);

        app.controller('info', function ($scope, $http) {

            //声明get请求参数
            $scope.param = {};

            //声明团列表数组
            $scope.allInfoList = [];

            //获取所有的团商品类型
            $scope.getAllGroupTypes = function () {
                $http.get(net + '/group/find-all-type').then(function (res) {
                    if (!res.error){
                        console.log(res.data);
                        //将获取的所有商品类型绑定到类型列表
                        $scope.goodsTypes = res.data.dataList;

                        //添加所有类型选项
                        $scope.goodsTypes.unshift({goodsTypeName:'所有类型'});
                    }

                    else
                        alert("错误代码:"+res.data.error+","+res.data.mes)
                }, function () {
                    alert('网络或设置错误');
                })
            };

            //获取公共团信息
            $scope.getPublicGroupInfo = function () {
                $http.get(net + '/group/find-groups').then(function (res) {
                    console.log(res.data);
                    if (!res.data.error) {
                        alert(res.data.mes);

                        //声明一个变量暂时保存获取的团信息数组
                        var allInfoList = res.data.dataList;

                        //遍历团信息组,将图片地址这个属性转化为js可以识别的数组
                        for (var i = 0; i < allInfoList.length; i++) {

                            //声明一个imgSrc接收转化为数组的图片地址
                            allInfoList[i].imgSrc = eval(res.data.dataList[i].groupImgs);
                            for (var o = 0; o < allInfoList[i].imgSrc.length; o++)
                                    //遍历图片地址并加上服务器的url
                                allInfoList[i].imgSrc[o] = net + '/resources/img/' + allInfoList[i].imgSrc[o];
                        }

                        //将之前处理好的团对象保存在scope里
                        $scope.allInfoList = allInfoList;

                    } else {
                        alert('错误代码：' + res.data.error + " " + res.data.mes);
                    }
                }, function () {
                    alert('网络或设置错误');
                })

            };

            //获取公共团信息(加条件)
            $scope.getPublicGroupInfoByLimit = function () {
                $http({
                    method: 'get',
                    url: net + '/group/find-groups',
                    params: $scope.param
                }).then(function (res) {
                    console.log(res.data);
                    if (!res.data.error) {
                        alert(res.data.mes);

                        //声明一个变量暂时保存获取的团信息数组
                        var allInfoList = res.data.dataList;

                        //遍历团信息组,将图片地址这个属性转化为js可以识别的数组
                        for (var i = 0; i < allInfoList.length; i++) {

                            //声明一个imgSrc接收转化为数组的图片地址
                            allInfoList[i].imgSrc = eval(res.data.dataList[i].groupImgs);
                            for (var o = 0; o < allInfoList[i].imgSrc.length; o++)
                                //遍历图片地址并加上服务器的url
                                allInfoList[i].imgSrc[o] = net + '/resources/img/' + allInfoList[i].imgSrc[o];
                        }

                        //将之前处理好的团对象保存在scope里
                        $scope.allInfoList = allInfoList;
                    } else {
                        alert('错误代码：' + res.data.error + " " + res.data.mes);
                    }
                }, function () {
                    alert('网络或设置错误');
                })
            };

            ////获取公共团条数
            $scope.getPublicGroupCount = function () {
                $http({
                    method: 'get',
                    url: net + '/group/find-all-groups-count'
                }).then(function (res) {
                    console.log(res.data);
                    if (!res.data.error) {
                        alert(res.data.mes);
                    } else {
                        alert('错误代码：' + res.data.error + " " + res.data.mes);
                    }
                }, function () {
                    alert('网络或设置错误');
                })

            };
            ////获取公共团条数（加条件）
            $scope.getPublicGroupCountByLimit = function () {
                $http({
                    method: 'get',
                    url: net + '/group/find-all-groups-count',
                    params: $scope.param
                }).then(function (res) {
                    console.log(res.data);
                    if (!res.data.error) {
                        alert(res.data.mes);
                    } else {
                        alert('错误代码：' + res.data.error + " " + res.data.mes);
                    }
                }, function () {
                    alert('网络或设置错误');
                })

            };

            //设置团详情页面的groupId
            $scope.setAimGroupId = function(groupId){
                sessionStorage.setItem("ptsc_groupId",groupId);
                location.href = '团详细介绍.html';
            };

            $scope.logout = function () {
                localStorage.removeItem("token");
                alert("您已注销成功");
                location.reload();
            }
        });
    </script>
</head>
<body ng-app="app">
<div ng-controller="info" ng-init="getAllGroupTypes()">
    <table>
        <tr>-nb7-b-------------------------
            <td>
                <button ng-click="getPublicGroupCount()">获取所有团总数</button>
                <br/>
                <button ng-click="getPublicGroupInfo()">获取所有团信息</button>

            </td>
            <td>
                <input type="number" ng-model="param.next" placeholder="获取团个数"/><br/>
                <input type="number" ng-model="param.line" placeholder="起始位置"/>
            </td>
            <td>
                选择团类型：
                <select ng-model="param.goodsTypeId" ng-options="x.goodsTypeId as x.goodsTypeName for x in goodsTypes">>
                </select>
                <br/>
                <input t-------[-ype="text" ng-model="param.keyWord" placeholder="关键词"/>
            </td>
            <td>
                <button ng-click="getPublicGroupCountByLimit()">按条件获取团总数</button>
                <br/>
                <button ng-click="getPublicGroupInfoByLimit()">按条件获取团信息</button>
            </td>
        </tr>
        <tr ng-repeat="info in allInfoList">
            <td colspan="4">
                <fieldset>
                    <legend align="center">团信息</legend>
                    <ul>
                        <li>封面图片</li>
                        <li ng-repeat="src in info.imgSrc">
                            <img ng-src="{{src}}" alt="" width="100"/>
                        </li>
                        <li>团id：{{info.groupId}}</li>
                        <li>团标题：{{info.groupTitle}}</li>
                        <li>团简介：{{info.groupSynopsis}}</li>
                        <li>团单价：{{info.groupPrice}}</li>
                        <li>团原单价：{{info.groupPriceOriginal}}</li>
                        <li>团目标人数：{{info.groupTargetNumber}}</li>
                        <li>团目前人数：{{info.groupNowNumber}}</li>
                        <li>团邮费：{{info.groupPostage}}</li>
                        <li>发团时间：{{info.groupInitTime|date:'yyyy-MM-dd HH:mm:ss'}}</li>
                        <li><button ng-click="setAimGroupId(info.groupId)">查看详情</button></li>
                    </ul>
                </fieldset>
            </td>
        </tr>
    </table>


</div>

</body>
</html>